package com.swak.persistence.mybatis.methods.impls;

import com.swak.persistence.mybatis.methods.AbstractMethod;
import com.swak.persistence.mybatis.methods.Sqls;

/**
 * 有选择性的获取记录，一般是唯一索引的使用方式。
 * 
 * @author DELL
 */
public class GetUnique extends AbstractMethod {

	@Override
	protected void doInject() {
		if (!this.supportMethod(Sqls.GET_UNIQUE)) {
			return;
		}
		
		String sql = new StringBuilder().append(SCRIPT_START).append(SELECT).append(SPACE)
				.append(this.parseSqlColumns()).append(SPACE).append(FROM).append(SPACE).append(this.table.getName())
				.append(SPACE).append(this.parseSelectiveWhereEqualColumns()).append(SCRIPT_END).toString();

		this.addSelectMappedStatement(Sqls.GET_UNIQUE.getMethod(), sql);
	}
}
